﻿using _RobotInspection.DTO;
using _RobotInspection.Entities;
using _RobotInspection.Models;
using Microsoft.AspNetCore.Mvc;

namespace _RobotInspection.Interfaces
{
    /// <summary>
    /// 点检项目服务层接口类
    /// </summary>
    public interface IInspectionItemService
    {
        /// <summary>
        /// 按设备Id查询点检项目
        /// </summary>
        /// <param name="equipmentId"></param>
        /// <returns></returns>
        Task<ApiResponse<List<inspection_items>>> GetItemsByEquipmentIdAsync(long equipmentId);

        /// <summary>
        /// 创建点检项目
        /// </summary>
        /// <param name="queryDto"></param>
        /// <returns></returns>
        Task<ApiResponse<inspection_items>> InsertItemAsync(InspectionItemInsertDto queryDto);

        /// <summary>
        /// 修改点检项目
        /// </summary>
        /// <param name="queryDto"></param>
        /// <returns></returns>
        Task<ApiResponse<inspection_items>> UpdateItemAsync(InspectionItemUpdateDto queryDto);

        /// <summary>
        /// 删除点检项目
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<ApiResponse<inspection_items?>> DeleteItemAsync(long id);

        /// <summary>
        /// 批量删除点检项目
        /// </summary>
        /// <param name="idList"></param>
        /// <returns></returns>
        Task<ApiResponse<List<string>>> DeleteItemListAsync(List<long> idList);
    }
}
